home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
001
/
zcdoc987.arc
/
zcommdoc.af
< prev
next >
Wrap
Text File
|
1987-09-27
|
65KB
|
1,801 lines
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 151
line read from the transmit file.
NOTE: The characters in eolstr are always sent at full speed.
SEE ALSO: entstr, blankfill string parameters
esc Stores an alternate string or command to be executed by the ESC
key when in term function.
etx Stores an alternate string or command to be executed by ETX
(Ctrl-C) when in the term function.
exrc Is sent to the modem/executed when an interactive Host Operation
session logs out. Es set exrc "@set disks c" resets the disks
parameter in case privileged (unrestricted) callers modify this
parameter.
h is set to the hour of the day when expanded in the form hh.
EXAMPLE: echo "It is now %h Hours"
SEE ALSO: d, t string parameters
helpfile The pathname that contains the online help file. You may
wish to set this in the phone directory "setup" entry. Iff
helpfile begins with the character @, the rest of xhelpfile is
treated as the initial calling sequence of a DOS subprogram such
as a pop-up menu handler.
SEE ALSO: f, xhelpfile string parameters, help command
home When ZCOMM is invoked, home is set to the current directory.
When the "cd" command is given without an argument, the directory
is changed to the contents of home. When ZCOMM is Restricted,
absolute pathnames (those beginning with \ or /) must have home as
a prefix. This restricts unprivileged users to the directory
given in home and/or its subdirectories on any of the disks
allowed by the disks string parameter. When changing the value of
home, use slashes (/) and not backslases (\), and do not use a
disk identifier.
SEE ALSO: disks string parameter
kermreset A string (up to 32 characters) may be sent by Pro-YAM's
Kermit when it attempts to recover from a transmission error. The
default value for this string is empty. Two metacharacters are
special: \336 inserts a one second pause, \335 sends a break.
l l (letter l) indicates selection of a long distance carrier for
calls to other area codes. It is set to "1" as a default. l may
(C) 1987 Omen Tech Inc Chapter 23 String Parameters
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 152
set to the access code of the particular alternate long distance
service desired with a "set" command.
SEE ALSO: m string parameter
lib A string variable which may be used to indicate the directory
containing scripts.
lpnono Do not send any of the characters in lpnono to the printer.
lpnono may use ZCOMM Character Escapes to represent control
characters.
EXAMPLE: set lpnono "\7" prevents the printing of bell characters.
SEE ALSO: l mode
m m is used to indicate selection of a long distance carrier for
calls within the same area code. It is set to "1" as a default.
m may be set to the access code of the particular alternate long
distance service desired with a "set" command. It is separate
from the l string parameter because the default "1" prefix may not
work if the area code given, but some alternative long distance
services require the area code to be specified calls within the
same area code.
SEE ALSO: l string parameter
mcommand A command that is executed instead of ZCOMM's built in
dialing routine.
This may be either "gosub dial" which would access the "dial"
entry in the phones file, or "source /dial" which would access the
script from a separate file. The second method allows a separate
"dial" file for each machine, but requires one more file to be
kept track of.
Note that mcommand does not start with an @. The default value is
empty, disabling this function.
EXAMPLE: set mcommand "gosub dial"
SEE ALSO: telno string parameter
mconnect A command that is executed or string that is sent to the
modem when the modem makes a connection. A typical use is to set
transparent mode for some Novation modems. The default value is
empty, disabling this function.
(C) 1987 Omen Tech Inc Chapter 23 String Parameters
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 153
menu The filename that contains the script accessed by the menu
command.
EXAMPLE: set menu /host/menu.hst
messages Messages entered with the message command are appended to
this pathname. By convention, this file should be readable when
ZCOMM is running in Restricted host mode.
EXAMPLE: set messages "/host/messages"
mprefix A command that is executed or a string that is sent to the
modem as a prefix to dialing a number. The default ATD works with
the Hayes Smartmodem(TM) 1200. ATDT instructs the modem to use
DTMF (Touch Tone(TM)) dialing instead of pulse dialing. Character
escapes may be used.
msuffix A command that is executed or a string sent to the modem after
the last digit in the phone number. Most intelligent modems
require the default value of "\r".
oname1...oname5 contains the information stored by the args string
parameter for each level.
outahost A command that is executed or a string sent to the modem when
ZCOMM exits host operation with a F1 or ALT-N key.
EXAMPLE: set outahost ATZ\r sends the ATZ command to a Hayes modem
to restore its default no autoanswer state.
password Changes the password callers must enter to gain access to
your computer when ZCOMM is in host operation. If password is
empty no password will be demanded.
EXAMPLE: set password "Change This Already"
SEE ALSO: challeng.t script, demand command
phones The filename that contains the telephone directory entries and
associated commands used with the call and gosub commands. The
default is "/PHODIR.T". The default may be changed at
installation time by the putsnp program. The DOS environment
variable PHONES will override the default when ZCOMM is started.
Finally, a set command may be used to change the telephone
directory once ZCOMM has started.
(C) 1987 Omen Tech Inc Chapter 23 String Parameters
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 154
picture The filename used by the ALT-Z command to "zap" a copy of the
display memory to the specified file.
plog The filename that contains the file transfer performance log. If
empty (the default), this function is disabled. Not supported on
8086 small model flavors.
private Pathname that messages are stored into by the private command.
This should NOT be readable when ZCOMM is running in Restricted
host mode.
EXAMPLE: set private "/private"
pwd This parameter is set to the current working directory by each cd
and pwd command.
quitcmd Sets the string be sent to the modem or command to be executed
when a protocol file transfer has been completed and the ALT-Q key
was typed during that transfer.
EXAMPLE: set quitcmd t\r\336\r\336\r\025off\r would send t<ENTER>,
a pause, <ENTER>, a pause, <ENTER>, and ^Uoff<ENTER>. This
sequence may be useful for automatically logging off Compuserve
after downloading a file.
SEE ALSO: ALT-Q special key
remote ZCOMM reads The full name of the remote system from the
telephone directory entry when the call command is given.
EXAMPLE: call omen using the omen entry in the distributed
PHODIR.T file assigns omen-tech to the remote string parameter.
In Host Operation, the caller's name is read into remote.
SEE ALSO: call command,
rub Assigns a string or command to the RUBOUT (Shift Backspace) key.
rxcnt A three digit number which counts the number of files that have
been created for receiving. An incoming file with an illegal name
is changed to rename.n with n is incremented from the value stored
in rxcnt (or 0).
s Contains the current time in seconds since the last minute.
s0...s9 These may be tested with the if %sN and if i%sN,string
commands, or expanded into a string using character escapes with
the "%sN" construction, where N is 1...9. Use set param "" (empty
(C) 1987 Omen Tech Inc Chapter 23 String Parameters
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 155
string enclosed by double quote characters) to set a string
parameter to empty.
Soft Keys The f1 to f40 strings are executed by the respective keys
from the term function, review function, or command prompt. In
the term function, soft keys definitions for fins, fdel, fhome,
fup, fdown, fleft, fright, fend will override ZCOMM's built-in
definitions for these keys. The built-in definitions take
precedence in the review function, conference command, and at the
command prompt.
ZCOMM's character escapes can be used to encode special
characters, including spaces and/or tabs.
The contents of these keys may be displayed by ALT-K or by the
keys command.
If the assigned string begins with "@" (commercial at), the string
is executed as a command. A soft key command called from the term
function should not end with a t or f command because this would
cause excessive recursion (calling the term function from within
the term function). (Use the create or open instead.)
In the conference command, soft keys are inserted into the editing
window unless they are commands, which are executed.
Soft keys are not executed from review or the command prompt
unless they are commands (beginning with "@").
t expands to the current time and date each time it is used.
SEE ALSO: d, h string parameters
tab Assigns a string or command to the TAB key.
telno The current telephone number string.
SEE ALSO: mcommand string parameter
tmp A string variable which may be used to indicate the directory used
for data to be transmitted or received.
twxfile Pathname for storing all incoming TWX messages. Please refer
to Chapter 99 on Host Operation for more information.
unrestrict Changes the password callers must enter to allow remote
functions that are normally restricted such as erasing files,
listing and changing parameters, and changing to private
directories. If unrestrict is empty (the default), the unrestrict
command will fail.
(C) 1987 Omen Tech Inc Chapter 23 String Parameters
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 156
SEE ALSO: unrestrict command
w Contains the day of the week (local time) as Mon, Tue, Wed, Thu,
Fri, Sat, or Sun.
welcome is executed after the password (if any) has been demanded and
accepted.
EXAMPLE: set welcome "@type welcome.txt; purgek; nulls 0"
xhelpfile The pathname that contains the online help file for host
mode commands. This should be readable when ZCOMM is in
Restricted Host Operation. Iff xhelpfile begins with the
character @, the rest of xhelpfile is treated as the initial
calling sequence of a DOS subprogram such as a pop-up menu
handler.
SEE ALSO: f, helpfile string parameters, help command
y0...y127 Read only string parameters y0 to y127 expand to represent
lines displayed by the term function. y0 corresponds to the
current partially finished line as displayed by the term function.
The last line referenced by becomes the y string parameter current
line used by the y, yb, and yf string paramrters. Each time the
term function displays a newline from the remote, the y parameter
is set to the new, unfinished line from the remote.
y expands to represent the y parameter current line.
yb Referencing the yb read only string parameter backs up the y
string parameter current line one line, and then represents that
line.
yf Referencing the yb read only string parameter advances the y
string parameter current line one line, and then represents that
line.
SEE ALSO: H, h test conditions
(C) 1987 Omen Tech Inc Chapter 23 Character Escapes
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 157
24. CHARACTER ESCAPES
Some commands use strings with character escapes similar to those used
by the C programming language for describing string constants. When
translating a string for character escapes, ZCOMM substitutes strings
(%svar) and then translates the result for backslash (\) encoded
character escapes.
String-Parameter %svar
Environment-Param %SVAR
% (per cent) \045
newline (LF) \n
return (CR) \r
tab (HT) \t
backspace (BS) \b
form feed (FF) \f
escape (ESC) \E
transparent \T
lowercase \L
uppercase \U
octal byte \nnn
hex byte \xHH
concatenation \&
backslash \\
A backslash followed by any character not listed above translates to
the unadorned character.
%svar is replaced by the value of the corresponding string parameter.
The string parameter name must be written exactly, in the correct
case, with no extra letters or digits at the end. Any non
alphanumeric character delimits the parameter name. The DOS
environment is searched for parameters after exhausting the ZCOMM
string parameters.[1]
The \n, \r, \t, \b, \f, \E, \nnn, \xHH and \\ character escapes
generate the associated character.
The \T character escape inhibits the processing of character eascpes
(but not string substitutions) in the remainder of the string. It is
useful when the raw string contains backslashes which must not be
treated as character escapes.
The \L character escape forces the rest of the string to lower case,
__________
1. DOS environment parameters are upper case only
(C) 1987 Omen Tech Inc Chapter 24 Character Escapes
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 158
up to the next \ character. Likewise, \U forces upper case.
Octal byte escapes (\nnn) accept 1 to 3 octal digits terminated by the
first non octal digit. Hex byte escapes (\xHH) accept exactly 2 hex
digits.
The \& character escape generates nothing; it is useful to delimit the
lexical end of a string parameter name in string concatenation
applications.
24.1 Concatenating String Parameters
To concatenate the contents of the string parameter with other
characters, one must escape the next character with a backslash if it
is a letter or digit. The \& character escape expands to nothing.
EXAMPLE: Assume string parameter s1 contains "foo".
putw "%s1\&bar"
sends "foobar".
putw "%s1\142ar"
sends "foobar".
putw "%s1-skidoo"
sends "foo-skidoo".
putw "%s1bar"
is undefined.
putw "%s1\bar"
sends "foo<BS>ar"
Failure to observe this property causes the sets and put commands to
give unexpected results.
An arbitrary byte is generated by backslash followed by one to three
octal digits. Note that a 7 bit transmission mode (if set) modifies
the parity bit of characters transmitted by the term function during
the put[w] command.
24.2 Quoting Strings
Strings must be enclosed by double quotes (Shift ' on the IBM Personal
Computer) to allow white space and/or semicolon to be included in the
string. If a string containing white space were not quoted, it would
be terminated by the first space or tab, and ZCOMM would consider the
rest of the intended string as another (incorrect) command.
(C) 1987 Omen Tech Inc Chapter 24 Quoting Strings
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 159
24.3 Layering of Escaped Characters
Sometimes a string will be processed two (or more) times by ZCOMM's
character escapes.
set f12 "@accept s1 Name:; obey find\ \n%s1\ /PHODIR.T"
This example causes ZCOMM to ask for a name when F12 (shift F-2) is
typed. The name is read into string parameter S1, which is then used
as part of the argument for the find command. The find command
searches the telephone directory for lines beginning with the string
you just typed in. To match only lines starting with the given
string, a linefeed (\n) is prepended to the argument of the find
command. When the obey command executes, the backslash-space
sequences translate to spaces, and the double backslash translates to
a single backslash.
The space after "find" and after "%s1" must be escaped because the
obey command accepts a single string argument. If these spaces were
not escaped, the obey command would not "see" the rest of the line
after "find".
The find command performs its own character escape translation,
changing the \n to a linefeed character.
(C) 1987 Omen Tech Inc Chapter 24 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 160
25. TEST CONDITIONS (if, on, while commands)
The following conditions may be tested with the if, on and while
commands.
Where a string parameter is indicated, it is an error to specify a
nonexistient string parameter.
When an immediate string argument is indicated, that argument is
delimited only by white space. As a result,
if "is1,hello&&L<5" command ...
won't work as expected, but
if is1,hello if "L<5" command ...
will work.
Some of the test conditions described below may be used with ">",
"==", "!=", or "<" for numeric comparisions. The right hand argument
of a numeric comparision may be:
+ A decimal number.
EXAMPLE: if "L>5" abort
+ A string paremeter which contains a decimal number.
EXAMPLE: set maxloops "5"
if "L>maxloops" abort
+ The length of the string stored in a string parameter, denoted by
a leading % character.
EXAMPLE: set s1 "Hello"
set s2 "foo"
if "%s1>%s2" echo "%s1 is longer than %s2"
These comparisions should be quoted in case a future version of ZCOMM
implements output redirection in the same manner as COMMAND.COM or the
Unix shell.
Numeric conditions may also be tested against a bit mask using the &
operator.
EXAMPLE: if s&64 echo "Caps Lock is ON"
0...25 The specified pattern (see pattern command) was matched in the
last wait command.
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 161
%svar The specified string parameter svar (see the set command) is non
empty. May be used with ">", "==", or "<" for numeric comparisions
of the string length of svar.
EXAMPLE: if %s1 putw %s1
? The ? numeric parameter counts the number of files sent or received
with a protocol, and the number of lines matched by the find
command. The fFILE test condition (if true) assigns the file length
to the ? parameter.[1] With certain operating systems, the exit
status of a subprogram accessed by a shell escape is stored in the ?
numeric parameter.
The ? numeric parameter may then be tested with the ? test
condition. It can be used with ">", "==", or "<" for numeric
comparisions.
EXAMPLE: p?0 find fizzbin *.txt; if ? echo "Found fizzbin"
SEE ALSO: ? numeric parameter
B True iff Ctrl-Break has been pressed since the last purgek command.
Csvar True iff string parameter svar contains any control characters
less than 040 (hex 20) or rubout.
EXAMPLE: if Cs0 echo "Please Retype
E True iff the elapsed time in seconds is non 0. May be used with
">", "==", or "<" for numeric comparisions.
NOTE: Elapsed time may be off by up to one second. The maximum
testable value for elapsed time is 32767 seconds.
EXAMPLE: if "E>300" off Disconnects the modem if the elapsed time is
greater than 300 seconds.
SEE ALSO: restime command
F>N True iff more than N kilobytes of free space remain on the default
drive.
EXAMPLE: if "F>2000" usq hugefile.q
__________
1. On 16 bit computers, file lengths greater than 32767 are
represented as 32767.
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 162
Hregular-expression Searches backward thru the circular buffer for the
next line matching regular-expression. If the search is successful,
the y string parameter points to the matched line.
EXAMPLE: To allow processing of information such as:
5 Review folder UFO (0 stories)
(a typical news item in the Executive News Service), one must scan
for lines with a certain pattern (in this case the character "("
immediately followed by 1...9 indicating 1 or more stories).
while "H\([1-9]" ss (rest of line)
The above searches backwards for the next line containing "(1" to
"(9". Note that "(" is a magic character in regular-expressions,
and must be escaped.
The h test condition is similar, but starts the search with the last
displayed line.
SEE ALSO: ens.t and kcdisl.t scripts, regular-expressions, y, yb,
y0...y127 string parameters
Isvara,svarb Tests whether the contents of string variable svara are
IDENTICAL to the contents of string variable svarb. Case is
significant.
EXAMPLE: if Is0,s9 goto exactmatch
SEE ALSO: i test condition (compares a string parameter and an
immediate string)
Jsvar,string Tests whether any of the characters in the immediate
string string appear one or more times in string parameter svar.
EXAMPLE:
if "Js0,!@#$%^&()_" echo "No funny characters"; goto getname
L>N True iff this while command has made more then N loops.
EXAMPLE: while !1 put "\r" wait ife "L>5" off Disconnects the modem
if the while command has sent more than five "\r"'s. The "L>N"
should be quoted in case a future version of ZCOMM implements output
redirection in the same manner as command.com or the Unix shell.
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 163
R>N After a
zcommand ""
command, evaluates true iff more than N kilobytes of free space
remain on the remote system's default disk drive.
EXAMPLE: zcommand ""; if "R>1000" sz -y hugefile
S>N True iff the transmission speed is greater N bits per second.
EXAMPLE: if S>2400 put "set verbose\r"
asvar The numeric value of the specified string parameter svar is non
zero. May be used with ">", "==", or "<" for numeric comparisions.
The string variable may contain leading spaces or tabs, an optional
+ or - sign, and digits.
EXAMPLE: if "as1==30" goto seen30 Performs the goto if s1 contains
"30".
bTIME True if the current time is Before TIME. TIME is written in the
form [yy[mm[dd]]]hhmm. No further conditions may be given in the if
statement after the b condition.
EXAMPLE: if b2300 return Returns from the script if the time is
before 11 p.m.
EXAMPLE: if b8512250900 return Returns from the script if the
date/time is before 9 a.m. Christmas day in 1985.
c Carrier detect is present on the modem port.
EXAMPLE: if !c goto lostit
d{?DLPSXZacdflmrtu} True iff the corresponding configuration is true:
?
file transfer True if the last file sent or received with a
protocol resulted in an error.
D The script is running on a demonstration program.
L True if ZCOMM is recording TurboLearn(TM) script information
(learn command).
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 164
P Packet state is active (X.PC driver).
S The script is running on a user supported program (e.g., ZCOMM).
U True if ZCOMM was unrestricted when the first level of the
current set of scripts was activated.
SEE ALSO: u test condition
X The X.PC commands are available.
EXAMPLE: if dX goto xpclogin
Z The ZMODEM commands are available.
EXAMPLE: if dZ sz -n logfile
a>N True iff ZCOMM was called from the operating system with more
than N arguments (counting the program name).
c The color/graphics display is selected.
d ZCOMM is executing under DOS.
f The program is running in the foreground. A script is
considered to be running in the foreground when it is NOT called
by the Callout Queue as described in Chapter 99. A program
running in the background is unlikely to have an operator
available for interaction.
l>N True iff the script level (nesting) is greatern than N.
m The monochrome display is selected.
r Data Set Ready (DSR) on the modem is active.
t ZCOMM is running under a Topview or DESQview virtual screen
which may be smaller than the physical screen size
u ZCOMM is executing under Unix/Xenix.
e True iff an t, sz, or rz command terminated with an error, or if the
term function has detected framing or overrun errors, since the last
autodial.
e>N True iff the e parameter (number of errors) is greater than N.
EXAMPLE: if "e>5" off Disconnects the modem if more than 5 errors
have been counted.
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 165
The "e>N" should be quoted in case a future version of ZCOMM
implements output redirection in the same manner as command.com or
the Unix shell.
NOTE: The e parameter is not compared within the term function, so
"detection" may be delayed.
SEE ALSO: e numeric parameter
fFILE (No space between f and FILE). Tests whether FILE exists as a
normal readable file (not a directory or hidden file). FILE is
expanded for string parameters. If the test is successful, the ?
numeric parameter (testable with the ? test condition) is set to
the file length. [2]
EXAMPLE: if fnit put "message\r"; f -xp nit; put "\r\336y" If nit
exists, give a "message" command, upload the file, then send
carriage return, pause, and the letter "y".
When used in a numeric context, the fFILE test represents the size
of the file in kilobytes (1024 bytes), or 1, whichever is greater.
EXAMPLE: if ffoo.bar>30 echo "File Longer than 30kb"
EXAMPLE: if fspy.kgb if !% echo "Zero Length File"
SEE ALSO: obey command
g Tests whether term function file transmission flow is go (not
stopped by an XOFF character).
EXAMPLE: if !g echo "Remote has not sent XON"; pg1
SEE ALSO: g mode, term function XON and XOFF
hregular-expression Please refer to the Hregular-expression test
condition.
isvar,string Tests whether the contents of string variable svar are
identical to the immediate string string. Case is significant. No
further conditions may be given in the if statement after the i
condition. This test is useful in designing menu applications. The
menu script menu.hst uses this test condition extensively.
__________
2. On 16 bit computers, file lengths greater than 32767 are
represented as 32767.
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 166
EXAMPLE: accept s1 Choice:; if is1,a goto choicea Executes a goto
choicea if the user keyboards an a in response to the "Choice:"
prompt.
SEE ALSO: I test condition (compares two string parameters)
jsvar,string Tests whether the immediate string string is a substring
of (contained somewhere within) the contents of string variable
svar. Lower case characters in string match characters in either
case. Upper case characters in string match upper case characters.
No further conditions may be given in the if statement after the j
condition. This test is useful in designing menu applications, and
for examining message lines read with the grab command.
EXAMPLE: grab s1; if js1,sig= goto endofsig Executes a goto if the
line read by the grab command contained "sig=" or "This SIG=".
k One or more characters have been received from the keyboard and are
in the interrupt queue awaiting processing. Note: Keyboard
characters are transmitted to the remote by the term function,
except during a put command.
l True if the line printer is ready to accept a character.
m One or more characters have been received from the modem and are in
the interrupt queue awaiting processing.
n No pattern was matched as a result of the last wait command or
search pending term function. n detects a search timeout, loss of
carrier, or manual exit with F1 or ALT-X.
psvar,string Tests whether the immediate string string is a prefix of
the contents of string variable svar. The match is case sensitive.
No further conditions may be given in the if statement after the p
condition. This test is useful for examining message lines read
with the grab command.
EXAMPLE: grab s1; if ps1,sig= goto endofsig Executes a goto if the
line read by the grab command contained "sig=", but not if it
contained "This sig=" or "SIG=".
r True iff a receive file is open for capture.
SEE ALSO: create, t commands
s>N True iff the keyboard shift state is greater than N.
EXAMPLE: if "s>63" echo "Caps Lock is Active"
(C) 1987 Omen Tech Inc Chapter 25 Test Conditions
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 167
t True iff a transmit file is open.
EXAMPLE: if !t echoc "%1 Short file! "; goto foobar
SEE ALSO: f, open commands
u True if ZCOMM is unrestricted.
SEE ALSO: U test condition
v True if the v (Verbose) numeric parameter is non zero.
EXAMPLE: if v s Displays the status on the console if the v numeric
parameter (Verbose) is non zero.
y ZCOMM accepts a single character from the keyboard, which is printed
followed by a newline. True if the character is "y" or "Y". False
the H numeric is non zero, and a character is not typed within the
time limit set by that parameter.
EXAMPLE: echo "Really quit?"; if y quit
Compound tests may be formed with the unary ! (not), binary || (or),
and binary && (and) operators. The tests are evaluated strictly left
to right. The unary ! operator applies to the following operand only.
EXAMPLE: if n&&!n||c echo "Carrier Present" simply tests carrier
because the result of the binary and operation above is always false.
EXAMPLE: if !c||1||2 o abort Disconnects the modem and aborts the
script if carrier is off, or if either pattern 1 or pattern 2 were
matched.
EXAMPLE: on e>45||!c goto allsignd Each time the term function
returns, branch to the end of the script if carrier is lost or more
than 45 line hits have been detected.
(C) 1987 Omen Tech Inc Chapter 25 Software Coexistence
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 168
26. SOFTWARE COEXISTENCE
Some programs and device drivers affecting the operation of PC-DOS may
interfere with ZCOMM, especially when ZCOMM is operating at high baud
rates. Historically, loss and corruption of data have been caused by
memory resident programs. Some of these programs increase interrupt
latency preventing ZCOMM from reading a character from the UART
holding register before the next character comes in on top of it. In
other cases, programs do not properly restore the state of the machine
when they exit from interrupts.
If such a problem is suspected, run ZCOMM without any memory resident
programs or special drivers to locate the source of the problem. Once
the offending program is identified, a call to the program's vendor
may obtain a corrected version.
The design of memory resident programs is a little known black art.
Subtle bugs, non reproducible interactions, and magic combinations are
commonplace results of attempts to impose various aspects of
multitaksing on top of an operating system that was not properly
designed to permit such extensions. Omen Technology Inc may be able
to help identify these interactions if provided with the source code
of the offending programs.
26.1 PolyWindows
POLYTRON's memory-resident deskyop organizer PolyWindows DeskPlus has
been tested with ZCOMM. If you experience any problems with
PolyWindows working with ZCOMM, call Polytron for assistance.
Some of the known troublemakers are mentioned below.
26.2 DOS 3.2
DOS 3.2 introduces the concept of a fixed number of interrupt stacks.
The default value chosen is not always sufficient, and DOS 3.2
sometimes prints the infamous Internal Stack Failure message and
cheerfully halts the computer. Adding the line STACKS=20,128 to the
CONFIG.SYS file should correct the problem.
26.3 Extended Memory RAMDISKS
Extended Memory electronic disks (ramdisks) require the 80286 chip to
switch in and out of protected mode during block transfers. A
hardware reset pulse is used to switch back to the "real mode"
required for DOS. This causes loss of modem data at high speeds.
It may be possible to reduce excessive interrupt latency by reducing
the length of protected mode block transfers to 128 or less. In one
instance, replacing the ROM BIOS with a newer version increased the
(C) 1987 Omen Tech Inc Chapter 26 Software Coexistence
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 169
maximum transmission speed without losing characters to 9600 bps.
This problem has not been observed with expanded memory
(Intel/Lotus/AST/etc.) ramdisks.
26.4 Disk Drivers
Disk drivers, especially hard disk drivers for 80286 machines, lock
out interrupts for varying periods of time. The actual interrupt
latency depends on the speed of the computer and the particular BIOS
code used. In one case, upgrading to a newer BIOS allowed operation
at 38400 bps, compared to 4800 bps previously. Such an improvement is
well worth the small ($25 typical) cost of a new set of ROB BIOS
chips.
26.5 DOS 3.x
Each new version of PC-DOS adds new features and eats up more of the
8088's meager resources. DOS 3.2 increases interrupt latency enough
to interfere with ZCOMM's operation at 19200 bps on an IBM PC. If
this is a problem, switching to DOS 2.1 will reduce the interrupt
latency.
26.6 EGA Wonder
The BIOS in the ATI EGA Wonder has been observed to increase interrupt
latency to the dismay of 9600 bps operation on an 8 mHz no wait state
AT clone. There has also been a report (unexplained) that an EGA
board has induced line noise in one instance.
26.7 ProKey
Some versions of ProKey disable interrupts for excessive periods of
time, dropping incoming modem characters.
26.8 FANSI-Console
Versions of this program before 1.07 did not maintain the pointer to
the active display board in the IBM documented memory location. A DOS
mode command may cause ZCOMM to reference the wrong display adapter
address. This caused incorrect sync signals and possible damage to
certain monitors.
Current versions (2.X) increase interrupt latency enough that the
serial line drops characters when the keyboard is touched.
(C) 1987 Omen Tech Inc Chapter 26 Software Coexistence
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 170
26.9 Seaware Batch
Versions of this program has been known to cause loss of data.
26.10 Pathname Modifiers
Programs such as FILEPATH and GLOBALS allow files to be visible in
more than one directory at a time. Such programs may interfere with
security when ZCOMM is restricted, since that security is based on
restricting access to directories. In general, sensitive files should
not be made global when ZCOMM is made accessible to outside callers.
ZCOMM may not recognize file names generated by such programs unless
the program traps the DOS FINDFIRST calls as well as the file open
calls.
We have received various reports of strange behavior which have been
traced to filesystem modifications caused by such programs, including
damaged file systems. We recommend such programs be phased out as
soon as possible, as they may not operate at all with future versions
of DOS or distributed file systems.
26.11 BRKBOX
This program locks out interrupts up to 17 milliseconds while waiting
for the vertical retrace. For a communications program, 17
milliseconds is a very long time, and data will be lost at speeds
above 300 bps.
26.12 CGCLOCK
Programs such as CGCLOCK.COM use clock interrupts to update a time
display on the screen. Some increase interrupt latency so much that
ZCOMM cannot respond in time to accept characters from the remote,
even at 1200 baud.
26.13 Concurrent PC-DOS
ZCOMM runs under Version 4.1 of Digital Research Concurrent PC-DOS
(CPCDOS). The - numeric parameter must be set to 0. The CPCDOS
"addmem" command sould be used to allocate extra memory if shell
escapes are to be used.
26.14 ANSI.SYS
ZCOMM uses direct keyboard input from the ROM BIOS because the DOS
keyboard input calls do not handle Ctrl-BREAK properly. As a side
effect, keyboard keys redefined by ANSI.SYS have no effect on ZCOMM's
operation. It is possible to program some of the keys to call ZCOMM
with arguments. The following file, ressaigns ALT-C, ALT-H, and ALT-V
to execute the commands shown below. The $ character represents
(C) 1987 Omen Tech Inc Chapter 26 Software Coexistence
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 171
ESCAPE.
$[0;46;"cd \tmp";13;"ZCOMM call -200 cbbs-r";13p
$[0;35;"ZCOMM call host";13p
$[0;47;"cd \tmp";13;"ZCOMM call cissig";13p
ZCOMM uses the ROM BIOS CRT functions and direct output to the
display, bypassing any processing provided by ANSI.SYS. Perhaps
someday Microsoft will enhance ANSI.SYS to make it useful for programs
like ZCOMM ...
26.15 PRINT.COM
Once the DOS PRINT program is memory resident, file downloads at high
speeds (38kb on a PC) suffer from interference, even if a file is not
currently being printed.
With certain printers, the DOS PRINT command will preempt the running
program for several seconds at a time. These "swapouts" can be
confusing when you are accessing an interactive application. They may
interfere with file transfers, especially if the remote program uses
"tight" timing. If this happens, PRINT should be suspended during
file transfers. Operation of the PRINT command does not appear to
cause loss of data downloaded from timesharing services at 1200 bps,
as long as the interruptions last less than ten seconds. Perhaps IBM
or Microsoft will someday fix this bug in the DOS PRINT command.
PRINT should not be invoked from ZCOMM for the first time as DOS
memory allocation will become fragmented.
If PRINT or some other spooler is outputting to a serial port using
the BIOS INT 14h serial port driver, ZCOMM's "!~subprogram" command
will redirect the printer output to the remote and thus should be
avoided.
26.16 SWITCHAR = -
ZCOMM will work properly when the switch character is set to "-",
allowing Unix style pathnames. The - numeric parameter must be set
non zero to allow ZCOMM shell escapes to use / to delimit directories.
It may be necessary to remove this line from CONFIG.SYS and reboot DOS
before using the IBM dump and restore commands.
N.B.: DOS 3.0 does not support SWITCHAR in the config.sys file. C'est
la vie. A short program, DASH, will set switchar to -. It prevents
many oaths.
For demanding applications requiring sophistication, power and support
not provided by any user supported communications program, Omen
Technology provides Professional-YAM Integrated Communications Tools.
Pro-YAM is also published by the POLYTRON Corporation under the trade
name PowerCom.
(C) 1987 Omen Tech Inc Chapter 26 Background Operation
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 172
27. BACKGROUND OPERATION
ZCOMM and the help processor YHP run under TopView, DESQview,
Carousel, and Windows, PC-DOS based multiprogramming systems that
support virtual video memory access.[1]
These operating environments allow multiple programs to run
concurrently on the same computer. Vertical applications can use the
high level menus to simplify the customer interface.
The default "performance settings" allow nearly full speed file
download and scripted data capture from dial-up services when other
processes are not accessing the floppy disks.
Older versions of DOS provide only 20 file slots which must be shared
by all programs, running or suspended. This can cause unexpected,
irreproducible problems with script processing.
DOS's file system semantics can cause unexpected results when one
program is writing to a file while another program is reading the
file. Unlike Unix, data written by a program does not become visible
until the file is closed.
Program Information parameters: YAMS - 192 kb allows for modest shell
escapes, 256k is suggested for ZCOMM. If memory is scarce, YAMS can
run in about 100k with no shell escapes allowed and the circular
buffer made smaller with a "set CBSIZE 4000" command given to DOS.
ZCOMM* and YHP do not write directly to screen, do not access system
keyboard buffer, run in the background, use their own colors
(optional), accept keyboard typeahead, and the window may close on
exit to DOS. They cannot be swapped because modem interrupts call
ZCOMM directly.
27.1 DESQview
DESQview 2.0 on 286 and 386 machines provides a congenial environment
for ZCOMM.
The Allow Close Window Command Advanced Option must be set to N,
allowing ZCOMM to restore the serial port to a safe configuration when
exiting.
__________
1. BIOS interrupt 10h, ah=0FF and ah=0FE
(C) 1987 Omen Tech Inc Chapter 27 Background Operation
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 173
27.2 Microsoft Windows
Windows lacks a preemptive scheduler. Other programs can seize the
computer for long periods, rendering background communications
impossible.
Windows int 10h support reduces ZCOMM's writing speed by more than 90
per cent. Since Windows will not give ZCOMM a full sized window, full
screen interactive applications (screen editors, etc.) cannot be run
from within a window. ZCOMM will display normally if the .PIF file
specifies direct screen writing.
(C) 1987 Omen Tech Inc Chapter 27 Crosstalk-XVI Conversion
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 174
28. CROSSTALK-XVI CONVERSION
This chapter lists Crosstalk-XVI commands and gives the ZCOMM
commands, modes, and parameters that perform equivalent or superior
functions.
ABort Use the abort command.
ACcept ZCOMM's security protection is based on DOS directory trees and
multiple levels of privilege controlled by passwords.
ALarm Use the lput command to send a bell character (\7) to the local
"screen".
ANswerback Transmission of the answerback string parameter is enabled
by the q mode.
ASk Use the accept command.
ATtention ALT-2 allows a ZCOMM command to be entered from term
function.
BKsize This command relates to Crosstalk's proprietary protocol.
BLankex See blankfill string parameter.
BReak ZCOMM uses ALT-B or Ctrl-Break to send a break. A string or
command assigned to the Ctrl-Break key supercedes its function in
the term function.
BYe Use the bye command.
CApture Capture is always enabled in ZCOMM.
CDir Use the cd command. Unlike Crosstalk, ZCOMM supports full DOS
pathnames wherever a file name is expected.
CLear Use cls.
COmmand In Host Operation, callers type commands directly to ZCOMM.
CStat Use ALT-S or the s command for status information not shown by
the term function status line. The review function provides
flexible buffer searching commands.
CWait See the t mode and t numeric parameter.
DAta Use the 7e, 7o, 7s, 7m, 8, 8n, 8e, or 8o mode.
DEbug Use v or vv mode. This may be toggled with ALT-V from the term
function. In addition, ZCOMM's v numeric parameter helps debug
(C) 1987 Omen Tech Inc Chapter 28 Crosstalk-XVI Conversion
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 175
scripts.
DIr Use one of the dir commands. Arguments correspond to DOS usage.
DNames The maximum number of names in a directory expansion is
controlled by the optional DOS DIRSIZE environment variable.
Large directories slow DOS and should be avoided. The DOS tree
structure allows files to be logically grouped into directories.
ZCOMM fully supports the DOS tree structure.
DO See the call, source, and gosub commands.
DPrefix See the mprefix and mcommand string parameters.
DRive Use "D:" to select a drive.
DSuffix See the msuffix string parameter.
DUplex Use h or H modes. ALT-H toggles the half duplex modes from the
term function. Also see the chat command.
EMulate See the display command and the A mode. Function keys may be
defined with the set command.
ERase Use kill to clear the buffer, del to delete a file, browse to
browse (and selectively delete) multiple files.
FIlter See the i, s, and S modes.
FKeys See the set, reskeys, and keys commands.
GO To dial a phone number, type the number directly, or use a call
command. call -n allows up to n retries at intervals set by the i
numeric parameter. ZCOMM does not need a special command to work
with a direct RS-232 connection.
HElp Use the help command.
IF See the ZCOMM if command and the i test condition.
INfilter See the i, s, and S modes.
JUmp Use goto label.
LAbel Labels are denoted with a colon (:).
LFauto See a mode, chat command.
LIst Use the s command.
(C) 1987 Omen Tech Inc Chapter 28 Crosstalk-XVI Conversion
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 176
LOad Equivalent to the source or gosub commands. Since ZCOMM does not
load the script file into memory, there is no limit to the length
of script files.
LWait See the p, r, w, P modes.
MEssage Use the echo or lput command.
MOde See the manual chapter on Host Operation.
NAme The name of the called location is taken from the telephone
directory entry name.
NO This ia an internal Crosstalk command.
NUmber The phone number is itself given as a command, either directly
or as part of a script or telephone directory entry.
OUtfilter See the r mode.
PArity Use the 7e, 7o, 7s, 7m, 8, 8n, 8e, or 8o mode.
PIcture Use ALT-Z to store a complete picture of the screen (including
attributes) at ANY time.
POrt Use the POrt command.
PRinter Use the l mode, or toggle with ALT-L from the term function.
ZCOMM buffers the printer to prevent loss of data.
PWord See the password and unrestrict string parameters.
QUit Use the off command. ZCOMM writes the circular buffer to the
receive file if one is open before exiting to DOS, but does not
complain if none is open.
RCve Crosstalk internal command.
REply Use the put or mput command depending on timing considerations.
RQuest The ZMODEM, YMODEM and Kermit batch transfer protocols
supported by ZCOMM use filenames specified to the sending program.
RWind Use a goto command to a label near the beginning of the script.
SAve ZCOMM does not use "command files" in the sense that Crosstalk
does. The few operating parameters that ZCOMM needs set for
interactive operation can be expressed conveniently in one line
telephone directory entries.
(C) 1987 Omen Tech Inc Chapter 28 Crosstalk-XVI Conversion
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 177
SBreak Use the break command.
SEnd Use the f command
SKip Use the goto command.
SNapshot Use ZCOMM's review function review past output from the
remote.
SPeed ZCOMM's speed command accepts all possible speeds from 75 to
38400. The whole number must be entered.
STop Use an odd speed or 110 to force two stop bits.
SWitch Use F-1 to exit the term function back to the command prompt,
F-2 or one of the cursor keys to get from the term function to
review.
TAbex ZCOMM does not expand tabs on uploaded files. This is one
Crosstalk feature for which there is no ZCOMM equivalent.
TImer Use the display stat=off command to disable the term function
status line.
TYpe Use the review function to access the buffer contents. The
findm, type, more, and browse/r commands may be used to view disk
files.
UConly Use the u mode.
WAit
Echo Use the p mode.
Quiet Use the wait command with a suitable timeout.
Delay Use the sleep command.
Char Use the p command with the g numeric parameter set to the
desired character.
Prompt Use the p or w mode.
String Use the pattern and wait commands. Case is significant.
Until Use the if command a condition, alone or with the callout
queue.
Manual As above.
(C) 1987 Omen Tech Inc Chapter 28 Crosstalk-XVI Conversion
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 178
WHen ZCOMM's pattern and wait commands allow development of scripts
for unattended operation.
WRite Equivalent to the w command.
XDos Equivalent to ZCOMM's x command.
XMit This uses Crosstalk's proprietary protocol. With ZMODEM, one can
use sz on the local system to send files automatically.
Otherwise, use rb in the remote system, sb on the local system.
(C) 1987 Omen Tech Inc Chapter 28 ASCII Code
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 179
29. 1968 ASCII CODE
X3.64 Dec Oct Hex EBCDIC
0/0 000 000 00 00 NUL ^@ Null, Ctrl-@
0/1 001 001 01 01 SOH ^A Start of Header
0/2 002 002 02 02 STX ^B Start of Text
0/3 003 003 03 03 ETX ^C End of Text
0/4 004 004 04 37 EOT ^D End of Transmission
0/5 005 005 05 2D ENQ ^E Enquire, WRU
0/6 006 006 06 2E ACK ^F HEREIS
0/7 007 007 07 2F BEL ^G Bell
0/8 008 010 08 16 BS ^H Backspace, \b
0/9 009 011 09 05 HT ^I TAB, \t
0/10 010 012 0A 25 LF ^J Newline, NL, \n
0/11 011 013 0B 0B VT ^K Vertical Tab
0/12 012 014 0C 0C FF ^L Form Feed, \f
0/13 013 015 0D 0D CR ^M Return, \r,
0/14 014 016 0E 0E SO ^N Shift Out
0/15 015 017 0F 0F SI ^O Shift in
1/0 016 020 10 10 DLE ^P
1/1 017 021 11 11 DC1 ^Q XON, Start Reader
1/2 018 022 12 12 DC2 ^R DC2, Tape Punch ON
1/3 019 023 13 13 DC3 ^S XOFF, Stop Reader
1/4 020 024 14 3C DC4 ^T DC4, Tape Punch OFF
1/5 021 025 15 3D NAK ^U Nak
1/6 022 026 16 32 SYN ^V Sync
1/7 023 027 17 26 ETB ^W End of Tape Block
1/8 024 030 18 18 CAN ^X Cancel
1/9 025 031 19 19 EM ^Y End of Medium
1/10 026 032 1A 3F SUB ^Z CP/M End of File
1/11 027 033 1B 27 ESC ^[ Escape, \E
1/12 028 034 1C 1C FS ^\ File Separator
1/13 029 035 1D 1D GS ^] Group Separator
1/14 030 036 1E 1E RS ^^ Record Separator
1/15 031 037 1F 1F US ^_ Unit Separator
(C) 1987 Omen Tech Inc Chapter 29 ASCII Code
Revised 09-05-87 Universal Line Printer Edition
ZCOMM User Manual 180
X3.64 Dec Oct Hex EBCDIC
2/0 032 040 20 40 SP Space
2/1 033 041 21 5A ! Bang, exclamation mark
2/2 034 042 22 7F " Double Quote
2/3 035 043 23 7B #
2/4 036 044 24 5B $
2/5 037 045 25 6C %
2/6 038 046 26 50 &
2/7 039 047 27 7D ' Apostrophe, Single Quote
2/8 040 050 28 4D (
2/9 041 051 29 5D )
2/10 042 052 2A 5C * Splat, Star, Nathan
2/11 043 053 2B 4E +
2/12 044 054 2C 6B , Comma
2/13 045 055 2D 60 -
2/14 046 056 2E 4B . Period
2/15 047 057 2F 61 / Slash, Stroke
3/0 048 060 30 F0 0
3/1 049 061 31 F1 1
3/2 050 062 32 F2 2
3/3 051 063 33 F3 3
3/4 052 064 34 F4 4
3/5 053 065 35 F5 5
3/6 054 066 36 F6 6
3/7 055 067 37 F7 7
3/8 056 070 38 F8 8
3/9 057 071 39 F9 9
3/10 058 072 3A 7A :
3/11 059 073 3B 5E ;
3/12 060 074 3C 4C <
3/13 061 075 3D 7E =
3/14 062 076 3E 6E >
3/15 063 077 3F 6F ? Question Mark, Query
(C) 1987 Omen Tech Inc Chapter 29 ASCII Code